package com.fc.happyteam.service.impl;

import com.fc.happyteam.dao.SkuDao;
import com.fc.happyteam.dao.SkuPriceDao;
import com.fc.happyteam.entity.SkuAttribute;
import com.fc.happyteam.entity.SkuEntity;
import com.fc.happyteam.entity.SkuPriceEntity;
import com.fc.happyteam.service.ISkuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service("skuService")
public class SkuServiceImpl implements ISkuService {

    @Autowired
    private SkuDao skuDao;

    @Autowired
    private SkuPriceDao skuPriceDao;

    @Override
    public SkuEntity queryObject(Long id) {
        return skuDao.queryObject(id);
    }

    @Override
    public List<SkuEntity> queryList(Map<String, Object> map) {
        return skuDao.queryList(map);
    }

    @Override
    public int queryTotal(Map<String, Object> map) {
        return skuDao.queryTotal(map);
    }

    @Override
    public void save(SkuEntity sku) {
        skuDao.save(sku);
        List<SkuPriceEntity> skuPriceList = sku.getPriceList();
        for (SkuPriceEntity skuPrice : skuPriceList) {
            skuPrice.setSkuId(sku.getId());
            skuPriceDao.save(skuPrice);
        }
        List<SkuAttribute> skuAttributes = sku.getAttributeList();
        if (skuAttributes != null) {
            for (SkuAttribute attr : skuAttributes) {
                attr.setSkuId(sku.getId());
                skuDao.saveAttribute(attr);
            }
        }
    }

    @Override
    public void update(SkuEntity sku) {
        skuDao.update(sku);
    }

    @Override
    public void delete(Long id) {
        skuDao.delete(id);
    }

    @Override
    public void deleteBatch(Long[] ids) {
        skuDao.deleteBatch(ids);
    }
}
